#define _CRT_SECURE_NO_WARNINGS 1

//#include<iostream>
//using namespace std;
//struct Stu {
//	int number;
//	int xyscore;
//	int szscore;
//	double zhscore;
//	Stu(int n,int xys,int szs) {
//		number = n;
//		xyscore = xys;
//		szscore = szs;
//		zhscore = 7 * xyscore + 3 * szscore;
//	}
//	int Total() {
//		return xyscore + szscore;
//	}
//};
//bool good(Stu& t) {
//	if (t.Total() > 140 && t.zhscore >= 800) {
//		return true;
//	}
//	return false;
//}
//int main() {
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++) {
//		int n=0, a=0, b=0;
//		cin >> n >> a >> b;
//		Stu s(n, a, b);
//		if (good(s)) {
//			cout << "Excellent" << endl;
//		}
//		else {
//			cout << "Not excellent" << endl;
//		}
//	}
//	return 0;
//}

//#include<iostream>
//using namespace std;
//struct S
//{
//	string name;
//	int score;
//}s;
//int main()
//{
//	int n = 0;
//	cin >> n;
//	struct S max = { "", 0 };
//	cin >> max.score >> max.name;
//	n--;
//	while (n--)
//	{
//		cin >> s.score >> s.name;
//		if (s.score > max.score) {
//			max.score = s.score;
//			max.name = s.name;
//		}
//	}
//	cout << max.name << endl;
//	return 0;
//}


//#include<iostream>
//using namespace std;
//#include<algorithm>
//struct stu {
//	int grade;
//}s[50];
//
//bool cmp(stu s1, stu s2) {
//	return s1.grade > s2.grade;
//}
//int main() {
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++) {
//		cin >> s[i].grade;
//	}
//	sort(s, s + n, cmp);
//	for (int i = 0; i < 5; i++) {
//		cout << s[i].grade << " ";
//	}
//	cout << endl;
//	return 0;
//}


//#include<iostream>
//using namespace std;
//#include<algorithm>
//const int N=305;
//struct stu {
//	int chinese;
//	int math;
//	int english;
//	int total;
//	int number;
//}s[N];
//bool cmp(stu s1, stu s2) {
//	if (s1.total > s2.total) {
//		return true;
//	}else if (s1.total == s2.total && s1.chinese > s2.chinese) {
//		return true;
//	}else if (s1.total == s2.total && s1.chinese == s2.chinese && s1.number < s2.number) {
//		return true;
//	}else {
//		return false;
//	}
//}
//int main() {
//	int n;
//	cin >> n;
//	for (int i = 1; i <=n; i++) {
//		cin >> s[i - 1].chinese >> s[i - 1].math >> s[i - 1].english;
//		s[i - 1].total = s[i - 1].chinese + s[i - 1].math + s[i - 1].english;
//		s[i - 1].number = i;
//	}
//	sort(s, s + n, cmp);
//	for (int i = 0; i < 5; i++) {
//		cout << s[i].number << " " << s[i].total << endl;
//	}
//	return 0;
//}

//#include<iostream>
//using namespace std;
//#include<string>
//#include<algorithm>
//const int N = 105;
//struct stu {
//	string name;
//	string brith;
//}s[N];
//bool cmp(stu s1, stu s2) {
//	return s1.brith < s2.brith;
//}
//int main() {
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++) {
//		cin >> s[i].name;
//		getline(cin, s[i].brith, '\n');
//	}
//	sort(s, s + n, cmp);
//	for (int i = 0; i < n; i++) {
//		cout << s[i].name << endl;
//	}
//	return 0;
//}

//#include<iostream>
//using namespace std;
//#include<string>
//#include<algorithm>
//const int N = 105;
//struct stu {
//	string name;
//	int y;
//	int m;
//	int d;
//	int id;
//}s[N];
//bool cmp(stu s1, stu s2) {
//	if (s1.y != s2.y)
//		return s1.y < s2.y;
//	else if (s1.m != s2.m)
//		return s1.m < s2.m;
//	else if (s1.d != s2.d)
//		return s1.d < s2.d;
//	else
//		return s1.id > s2.id;
//}
//int main() {
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++) {
//		cin >> s[i].name >> s[i].y >> s[i].m >> s[i].d;
//		s[i].id = i;
//	}
//	sort(s, s + n, cmp);
//	for (int i = 0; i < n; i++) {
//		cout << s[i].name << endl;
//	}
//	return 0;
//}